学习Javascript数组排序之sort()与reverse()方法
alert(arr1.sort()); // 1,16,3,30,34
复制代码 代码示例:
小结:Javascript中数组的排序,由于默认按照字符串排序,要实现按照其他形式的规则排序,需要自己定义比较函数。
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 大于 b,则返回一个大于 0 的值。
返回值
else if(m>n)
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
然后执行arr.sort(sortArr),发现可以得到我们想要的结果:1,3,16,30,34.也就说将数组按照整型数值进行了升序排序。
想要得到正确的结果:1,3,16,30,34 应该怎么去做呢?
}说明
else return 0;//等于,返回0
再看一个数组排序:arr=[3,1,16,34,30],如果执行arr.sort()后是不是还是会得到我们想要的1,3,16,30,34呢?
执行后发现结果为:1,16,3,30,34,显然结果不是我们想要的。
return -1;//小于,返回-1
因此,如果要按照数值进行排序,那么就要提供一个比较函数。
1,JavaScript的sort()中如果没有指定比较函数,则默认会按照字符的编码顺序进行升序排序。即想要对数值进行排序得到的不一定是想要的结果。
若 a 等于 b,则返回 0。
2,Javascript的reverse()将数组中的元素逆序。
此外,还可以调用上面提到的另一个函数reverse()来轻松的实现,当进行升序排序后,然后数组在调用reverse()方法将数组逆序,这样就可以实现数组的降序排序了。
语法
复制代码 代码示例:
if(m<n)arr.sort(sortArr).reverse();
JavaScript提供了sort()方法和reverse()方法,使得可以简单的对数组进行排序操作和逆序操作
var arr1=['3','1','16','34','30'];}
function sortArr(m,n){
定义和用法
sortby 可选。规定排序顺序。必须是函数。
return 1;//大于,返回1
实际上,sort方法将上面的数值按照字符串方式排序了,也就是说和数组arr1=['3','1','16','34','30']的排序结果一致。
复制代码 代码示例:
查询javascript手册,手册中的说明如下:
}var arr=[3,1,16,34,30];
一般常见的比较函数如下:
先看第一点,如果有一个数组arr=[1,6,3,7,9],使用arr.sort()后,数组的顺序为1,3,6,7,9,得到了我们想要的结果。
function sortArr(m,n){
alert(arr.sort()); // 1,16,3,30,34
精简后可以写成如下两种形式:
arrayObject.sort(sortby)参数 描述
return m-n;
复制代码 代码示例:
function sortArr(m,n){
可以写两个函数,一个升序,一个降序。然后根据不同的需要调用不同的函数就可以了。
其中:
return m>n?1:(m<n?-1:0);
相关热词: 方法
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jq/jc/7162.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
PHP识别相片是否是颠倒的
时间:2020-12-28
-
python编程有哪些ide
时间:2020-12-28
-
python开发工程师是做什么
时间:2020-12-28
-
php构造函数的作用
时间:2020-12-28
-
php怎么跟数据库连接
时间:2020-12-28
-
php实现顺序线性表
时间:2020-12-28
-
Python多重继承中的菱形继
时间:2020-12-28
-
php中break的作用
时间:2020-12-28
热门文章
-
php中常用的正则表达式使用方法
时间:2020-12-25
-
asp与php区别是什么?
时间:2020-12-27
-
PHP识别相片是否是颠倒的,并且重新摆正
时间:2020-12-28
-
Yii授权之基于角色的存取控制 (RBAC)
时间:2020-12-23
-
php的一键安装包有哪些 php环境搭建
时间:2020-12-19
-
php实现对图片对称加解密(适用身份证加
时间:2020-12-25
-
php如何理解面向对象
时间:2020-12-28
-
超详细分析php docker的原理及作用
时间:2020-12-27
-
Python控制Excel实现自动化办公
时间:2020-12-23
-
session的作用是什么
时间:2020-12-25
